home *** CD-ROM | disk | FTP | other *** search
- 1.1 Über Megamax Modula 1 - 1
- ________________________________________________________
-
-
- 1. Einführung
-
- Das erste Kapitel dieses Handbuchs soll Ihnen einen Überblick über Megamax
- Modula-2 und den Inhalt dieser Dokumentation geben. Wenn Sie Ihre System~
- disketten gerade ausgepackt haben und den ersten Versuchen entgegenfiebern,
- lesen Sie bitte auf jeden Fall Abschnitt 1.2. Möchten Sie sich erst über Modula-2
- und die Megamax-Implementation informieren, dann finden Sie hoffentlich das
- ganze Kapitel 1 interessant.
-
-
- 1.1 Über Megamax Modula
-
- Modula-2 ist eine moderne Programmiersprache, in der Prof. Niklaus Wirth
- das bewährte Konzept von Pascal durch leistungsfähige Erweiterungen
- ergänzte. Das Modulkonzept erlaubt die Realisierung und Pflege auch großer
- SoftwareProjekte; die Unterstützung von Prozessen und die Möglichkeiten der
- maschinennahen Programmierung erschließen Modula-2 neue Anwendungs~
- gebiete; eine systematische Syntax erleichtert das Erlernen der Sprache.
-
- Megamax Modula ist eine moderne Implementation dieser Sprache: Der
- schnelle Ein-Pass-Compiler ist zusammen mit Editor und Debugger über eine
- komfortable GEM-Shell zu bedienen. Er hilft dem Anfänger beim problemlosen
- Einstieg in Modula-2 und bietet dem Könner ein leistungsfähiges Entwicklungs~
- werkzeug. Der Compiler erfüllt nicht nur den vollen Standard nach Wirth (PIM,
- 3. Auflage) sondern verfügt auch schon über viele Erweiterungen des
- kommenden ISO-Standards für Modula-2 (mehr dazu in Kap. 3.1!). Er nutzt
- den Mathe-Koprozessor (FPU) sowohl im Atari ST als auch im Atari TT.
-
- Auf überholte Konzepte, wie z.B. separate Assembler- und Linkerläufe, wurde
- verzichtet. Statt dessen unterstützt Megamax Modula durch echtes
- Loadtime Linking der Module (wie auf der Modula-Maschine "Lilith" von
- N. Wirth, bzw., viel besser!) die Benutzung großer Modulbibliotheken. Die
- mitgelieferte umfangreiche Systembibliothek (mehr als 110 Module) gewährt
- bereits umfassenden, komfortablen Zugriff auf alle Systemfunktionen Ihres
- Atari ST/TT (Dateisystem, BIOS, GEM) und viele zusätzliche Möglichkeiten.
- Selbstverständlich können Sie auch effiziente Accessory-Programme mit dem
- optimierenden Linker erstellen.
-
- Als Teil des Megamax Modula-Systems erhalten Sie weiterhin zwei Editoren
- (einen GEM-Editor und einen sehr kompakten, schnellen Editor, der allerdings
- etwas mehr Eingewöhnung braucht), einen interaktiven Modula-Debugger und
- ein Resource Construction Program zur Definition von Resource-Dateien für
- Ihre GEM-Anwendungen. Alle Komponenten arbeiten unter der Kontrolle der
- GEM-Benutzeroberfläche zusammen.
-
- Eine ausführlichere Diskussion der - vielleicht für Sie neuen - Konzepte der
- Modularität und des Loadtime Linking finden Sie im Kapitel 1.4.
- 1.2 Über dieses Handbuch 1 - 2
- ________________________________________________________
-
-
- 1.2 Über dieses Handbuch
-
- Dieses Handbuch erklärt Ihnen den Umgang mit dem Megamax Modula-2
- Entwicklungssystem. Das 1. Kapitel, in dem Sie gerade lesen, soll Ihnen einen
- ersten Überblick über die Sprache Modula-2 und das Megamax-System geben.
- Im 2. Kapitel finden Sie dann alle Erläuterungen zur Bedienung des Systems,
- die Sie zum Programmieren in Modula brauchen. Gleich zu Beginn von Kapitel 2
- erfahren Sie auch, wie Sie auf dem kürzesten Weg zu Ihren ersten Experimen~
- ten mit Megamax Modula kommen.
-
- Als Modula-Programmierer wird Sie außerdem das Kapitel 5 interessieren.
- Dort wird die leistungsfähige Modulbibliothek beschrieben, die Sie mit Ihrem
- Megamax Modula-2 erhalten haben. Schließlich sollten Sie sich einmal Kapitel
- 3.1 ansehen; dort wird verraten, welche Besonderheiten die Megamax-Implemen~
- tation aufweist.
-
- Die weiteren Kapitel dieses Buchs wenden sich vor allem an den fortgeschritten~
- en Anwender. Wenn Sie sich der Systemprogrammierung mit Megamax Modula
- zuwenden und dazu auch den integrierten Assembler verwenden wollen, finden
- Sie in Kapitel 4 Informationen über das 'Innenleben' Ihres Modula-Systems und
- den Umgang mit dem 68000 Assembler.
-
- Im Anhang finden Sie vor allem Informationen zum Nachschlagen - interne
- Datenformate, Fehlermeldungen, Compileroptionen... Außerdem enthält der
- Anhang A.6 eine Erläuterung der Backus-Naur-Notation. Falls Sie diese Notation
- zur Beschreibung der Modula-Syntax noch nicht kennen, sollten Sie sich diese
- Seite bald ansehen.
-
- Eines allerdings will dieses Handbuch nicht sein: Eine Einführung in die
- Programmiersprache Modula-2. Vielleicht haben Sie schon einiges über Modula
- gelesen? Dann können wir nur noch viel Spaß beim Ausprobieren Ihrer
- Kenntnisse mit dem Megamax Modula-System wünschen. Wenn Sie dagegen
- noch nichts über Modula-2 wissen, sollten Sie zusätzlich zu diesem Buch ein
- Modula-Lehrbuch zur Hand haben. Im folgenden Abschnitt stellen wir eine
- kleine Auswahl empfehlenswerter Bücher vor.
- 1.3 Kurze Modula-Biliographie 1 - 3
- ________________________________________________________
-
-
- 1.3 Kurze Modula-Bibliographie
-
- Wenn Sie Modula-2 erst lernen oder als Modula-Kenner noch ein Nachschlage~
- werk suchen, sollten Sie sich das eine oder andere der folgenden Bücher
- einmal ansehen. Während Modula-2 zunehmend Verbreitung findet, wächst
- auch die Auswahl an Modula-Literatur ständig - unsere Vorschlagsliste kann
- daher nicht vollständig sein.
-
-
- Niklaus Wirth: Programmieren in Modula-2
-
- Springer Verlag, 3. Auflage
-
- Das 'offizielle' Modula-Buch vom Vater der Sprache selbst. Es besteht aus
- zwei Teilen: Der erste Abschnitt ist ein Programmierkurs, der alle Modula~
- Konzepte vorstellt. Der Kurs ist auf Leser mit geringen Vorkenntnissen zuge~
- schnitten; erfahrene Pascal-Programmierer werden sich in vielen Kapiteln
- langweilen.
-
- Daran schließt sich als zweiter Teil der 'Modula-Report' an. Dort soll eine
- vollständige Definition der Sprache gegeben werden; die Darstellung ist allerdings
- recht knapp und gibt Gelegenheit zu Mißverständnissen. Zum Nachschlagen
- eignet sich die deutsche Übersetzung des Buchs dank ihres umfangreichen
- Stichwortverzeichnisses recht gut.
-
- Es existiert auch noch eine vierte Auflage des Buchs, die jedoch von uns nicht
- empfohlen werden kann. Sie enthält veraltete Passagen aus der ersten Auflage
- und widersprüchliche Beschreibungen zwischen den beiden Teilen. Wirth hat
- hier außerdem einige einschneidende Veränderungen an der Sprache
- vorgenommen, die von den meisten Modula-Anbietern und -Anwendern nicht
- mehr unterstützt werden. Mehr dazu im Kapitel 3.
-
-
- Dal Cin/Lutz/Risse: Programmierung in Modula-2
-
- Teubner Verlag, 2. Auflage 1986
-
- Ein Lehrbuch, das in drei Teilen zunächst die Grundlage der Sprache vorstellt
- und dann ausführlich auf die neuen Modula-Konzepte eingeht: modulare Program~
- mierung und parallele Bearbeitung von Prozessen. Der eilige und Pascal-kundige
- Leser findet zu Beginn der Grundlagen-Kapitel jeweils eine Zusammenfassung,
- die die Unterschiede zu Pascal herausstellt.
-
- Beispiele und Aufgaben helfen beim Lernen; in den späteren Kapiteln wird auch
- anspruchsvolleres Wissen verständlich dargestellt. Ein ausführliches Stichwort~
- verzeichnis macht das Buch auch zu einem guten Nachschlagewerk. Einige
- Minuspunkte sollen aber nicht verschwiegen werden:
- 1.3 Kurze Modula-Biliographie 1 - 4
- ________________________________________________________
-
-
- Die Berücksichtigung der neuen Modula-Definition in der zweiten Auflage wurde
- leider nicht konsequent durchgehalten - gelegentliche 'Rückfälle' in den alten
- Standard, speziell in den Beispielen, sorgen für Verwirrung. Außerdem sind
- eine Reihe von Beispielen speziell auf das von den Autoren benutzte UNIX-System
- zugeschnitten, ohne daß das immer klar gesagt wird.
-
-
- Richard Gleaves: Modula für Pascal-Programmierer
-
- Springer Verlag 1985
-
- Der Titel verrät bereits, an wen sich das Buch wendet: Programmierer mit
- Pascal-Erfahrung, die auf Modula-2 umsteigen wollen und sich für Änderungen
- und zusätzliche Möglichkeiten dieser Sprache interessieren.
-
- Wenn Sie zu diesem Kreis gehören, ist 'Modula für Pascal-Programmierer'
- unbedingt empfehlenswert: Gleaves stellt die neuen Konzepte von Modula klar
- heraus, ohne die Grundlagen zu wiederholen, die Ihnen von Pascal her geläufig
- sind.
-
- Einen kleinen Nachteil hat auch dieses Buch: Als einziges verschweigt es die
- Änderungen des Modula-Standards völlig. Wenn Sie also von R. Gleaves Modula
- lernen, sehen Sie sich bitte auch das Kapitel 3.1 des Megamax-Handbuchs an.
-
-
- Stefan Dürholt, Jochem Schnur: Atari ST Modula-2 Programmierhandbuch
-
- Markt & Technik Verlag 1990
-
- Dies ist ein Modula-Buch speziell für Atari ST-Anwender. Es umfaßt ca. 500
- Seiten, enthält zwei Disketten mit Quelltexten und Programmen, und alle
- Beispielprogramme wurden mit dem Megamax-Modula-System erstellt. Die
- Beispiele sind praxisnah, es enthält Vergleiche der wichtigsten Modula-Systeme
- auf dem Atari ST und Informationen zum ISO-Standard, ein Kapitel zur
- Assembler-Programmierung ist auch enthalten. Somit stellt dieses Werk eine
- gute Ergänzung zu Megamax-Modula dar.
-
- Es existiert noch ein weiteres Buch zu Modula-2 auf dem Atari ST. Es heißt
- "MODULA 2" (Heim Verlag 1990, Autor: R. Morgenstern). Wir können es Ihnen
- nicht so sehr empfehlen. Es bietet trotz seiner Dicke längst nicht den
- Informationsgehalt des vorher genannten Werkes. Lediglich die Einführung in
- die Grundidee des Programmierens ist hier ausführlicher. Am besten, sie
- gehen in eine Buchhandlung und vergleichen beide Bücher kurz. Der Unter~
- schied wird Ihnen ins Auge springen!
- 1.3 Kurze Modula-Biliographie 1 - 5
- ________________________________________________________
-
-
- Dieter u. Jürgen Geiß: Softwareentwicklung auf dem Atari ST
-
- Hüthig Verlag 1986
-
- Überraschung: Dies ist gar kein Modula-Buch! Wo wir aber gerade bei den Li~
- teraturtips sind, wollen wir nicht versäumen, auf dieses Buch hinzuweisen.
-
- Wer in die Programmierung des GEM einen tieferen Einblick gewinnen will, fin~
- det hier die vollständige Beschreibung aller Datenstrukturen und Routinen. Bei~
- spiele erleichtern das Verständnis dieser komplexen Benutzeroberfläche.
-
- Eine Einführung in die GEM-Programmierung, speziell mit den Module der Me~
- gamax Bibliothek, finden Sie aber auch im Kapitel 5 dieses Handbuchs.
-
-
- Dieter u. Jürgen Geiß: Vom Anfänger zum GEM-Profi
-
- Hüthig Verlag 1990
-
- Dies ist ein weiteres Buch der Autoren, das noch mehr Einblicke in die
- GEM-Programmierung vermittelt. So wird beispielsweise gezeigt, wie
- "saubere", portable GEM-Programmierung aussieht, damit die Programme auch
- noch auf dem GEM des IBM-PC laufen, und wie Menüleisten auch in einzelnen
- Fenstern (sehr praktisch für Accessories) dargestellt werden können. Auf
- einer Diskette werden die gezeigten Routinen als Quelltext mitgeliefert (bisher
- leider nur in der Sprache C).
-
-
- Jankowski, Rabich, Reschke: Das Atari-ST Profibuch
-
- Sybex Verlag
-
- Dies ist ebenfalls kein Modula-Buch. Aber was das vorige Buch für die
- GEM-Programmierung ist, stellt dieses für die systemnahe Programmierung
- dar. Im deutschsprachigen Raum gilt es schlechthin als Referenz zu allem, das
- Atari USA selbst festzulegen versäumte. Für Programmierer, die den
- Durchblick brauchen, ist dieses Buch unverzichtbar. Es dokumentiert alle
- Systemvariablen und Betriebssystemaufrufe ausführlich, bietet tiefe Einblicke in
- die Hardware aller Atari ST-Modelle und ist immer up-to-date durch
- regelmäßige, korrigierte und erweiterte Neuauflagen. Zur Zeit umfaßt das Buch
- ca. 1000 Seiten.
- 1.4 Megamax Modula: das Konzept 1 - 6
- ________________________________________________________
-
-
- 1.4 Megamax Modula: das Konzept
-
-
- Definitions- und Implementationsmodule
-
- Wenn Sie schon mal das Listing eines Modula-Programms gesehen haben, ist
- Ihnen (als Pascal-Kenner?) vielleicht aufgefallen, daß das Programm im Kopf
- nicht als 'PROGRAM', sondern als 'MODULE' bezeichnet wird. Das ist offenbar
- noch nicht besonders revolutionär und bestimmt nicht der Grund, warum die
- ganze Sprache 'Modula' heißt...
-
- Interessanter sind da schon die folgenden Zeilen des Programms: Jede Menge
- 'IMPORT'-Anweisungen, mit denen Objekte aus anderen Modulen dem Compiler
- bekanntgemacht werden. Diese anderen Module, die Objekte (Prozeduren,
- Variablen, Typen, Konstanten) nach außen zur Verfügung stellen, gehorchen
- besonderen Regeln - und die sind in Modula so konsequent und funktionell
- ausgefallen wie bisher in keiner anderen Programmiersprache.
-
- Zu jedem Modul, das Objekte nach außen bereitstellt (sie 'exportiert'), gehört
- ein spezielles Definitionsmodul. Darin werden exportierte Typen, Konstanten und
- Variablen deklariert; bei exportierten Prozeduren wird aber nur der Prozedurkopf
- mit den Parametern angegeben. Wenn der Compiler ein Programm übersetzt,
- das diese Objekte benutzt ('importiert'), kann er mit Hilfe der Informationen
- aus dem Definitionsmodul überprüfen, ob die importierten Objekte richtig
- benutzt werden. Der Aufruf einer importierten Prozedur mit falschen Para~
- metern, der in anderen Programmiersprachen mit 'behelfsmäßigen' Bibliotheks~
- systemen zu unerklärlichen Fehlfunktionen oder Abstürzen führt, kann also
- schon beim Compilieren erkannt werden!
-
- Das eigentliche Implementationsmodul, in dem die exportierten Prozeduren
- ausprogrammiert sind, braucht der Compiler dagegen nicht zu kennen, um den
- korrekten Aufruf zu überprüfen. Erst zur Ausführung des Programms wird es
- benötigt. Insbesondere ist es erlaubt, die Implementation zu ändern (Korrekturen
- oder Optimierungen) - solange die Definition die gleiche bleibt, braucht das
- Programm, das so eine Prozedur benutzt, nicht einmal neu übersetzt zu
- werden.
- 1.4 Megamax Modula: das Konzept 1 - 7
- ________________________________________________________
-
-
- Loadtime Linking
-
- Wenn Sie Ihr Programm erfolgreich übersetzt haben, erwarten die üblichen
- Compiler-Systeme noch, daß Sie einen sogenannten Linker starten. Dieser hat
- die Aufgabe, die übersetzte Version Ihres Programmes mit den benutzten
- Teilen der Bibliothek zu kombinieren. Der Linker erzeugt dann eine größere
- Codedatei, die alle benötigten Komponenten zusammen enthält; das Programm
- kann dann endlich ausgeführt werden.
-
- Dieses gängige Verfahren hat Nachteile: Der Zyklus 'Übersetzen - Linken -
- Ausprobieren - Korrigieren - Übersetzen ...' ist in der Entwicklungsphase recht
- langwierig. Außerdem enthält jedes lauffähige Programm große Teile der Biblio~
- thek als Kopie. Das belegt nicht nur unnötig Speicherplatz auf der Diskette,
- sondern führt vor allem dann zu Problemen, wenn Sie Teile der Bibliothek
- selbst entwickelt haben und weiterhin pflegen wollen: Übersetzte Programme
- enthalten dann weiterhin alte (fehlerhafte?) Versionen der Bibliotheksmodule.
-
- Megamax Modula bietet Ihnen daher ein anderes Verfahren: Erst direkt beim
- Starten eines Moduls werden die zusätzlich benötigten (importierten) Module
- angebunden. Der Loader, der Bestandteil der Megamax-Shell ist, erledigt das
- praktisch unmerklich und ohne von Ihnen weitere Angaben zu erfragen. Für die
- meisten Anwenderprogramme sind (außer dem Laden des Moduls selbst) keine
- zusätzlichen Diskettenzugriffe erforderlich, um die importierten Module zu
- laden: Alle wichtigen Ein-/Ausgabefunktionen und viele weitere Prozeduren sind
- bereits als Teil der Shell im Hauptspeicher präsent und können von Ihrem
- Modul mitbenutzt werden.
-
- Der Entwicklungszyklus besteht in der Megamax Shell also nur aus 'Übersetzen
- - Testen - Korrigieren'. Falls Sie Bibliotheksmodule nutzen, die nicht schon in
- der Shell integriert sind, genügt dem Modula-System die IMPORT-Anweisung in
- Ihrem Text, um auch diese Module beim Start des Hauptprogramms automatisch
- nachzuladen und anzubinden. Und sogar wenn Sie ein Bibliotheksmodul ändern
- und neu übersetzen, können alle Programme, die dieses Modul importieren,
- weiterhin direkt gestartet werden - ohne neue Übersetzung, ohne Linkerlauf.
- 1.4 Megamax Modula: das Konzept 1 - 8
- ________________________________________________________
-
-
- Benutzung des Linkers
-
- Nachdem wir eben ausführlich über Linker gelästert haben, müssen wir jetzt
- gestehen, daß wir für Megamax Modula auch einen haben. Über seine Handha~
- bung informiert Sie der Abschnitt 2.6 (dort werden Sie sehen, daß unser Lin~
- ker wenigstens viel freundlicher zu bedienen ist als die meisten seiner Kolle~
- gen). Wozu er da ist, wollen wir aber jetzt schon erwähnen.
-
- Der 'heimliche' Bindevorgang beim Laden ist eine Funktion der Megamax-Shell.
- Wenn ein Programm direkt vom TOS oder GEM aus gestartet werden soll,
- muß es wohl oder übel alle benötigten Prozeduren komplett enthalten. Dafür
- sorgt der Linker, den Sie aus der Shell aufrufen können.
-
- Zur Entwicklung solcher Programme, die später ohne Unterstützung durch die
- Megamax-Umgebung laufen sollen, ist es aber trotzdem sinnvoll, die Vorteile
- des 'Load Time Linking' zu nutzen. Erst das ausgetestete Programm sollten Sie
- dann dem Linker vorsetzen. Übrigens: Auch die Megamax Modula-Shell selbst
- ist auf diese Weise übersetzt und gelinkt worden.
- 1.5 Unser Service: MeMoX 1 - 9
- ________________________________________________________
-
-
- 1.5 Unser Service
-
- MeMoX - Megamax Modula Exchange
-
- Was auf dem GEPARD anfing und von Application Systems Heidelberg für ihr
- Megamax C (Laser C) aufgegriffen wurde, bieten wir nun auch für Megamax
- Modula-2: Einen preiswerten und organisierten Austausch von Modula-2 Pro~
- grammen und Module unserer Megamax-Anwender. Der Gedanke dabei ist, zu
- verhindern, daß jedes Hilfsmodul von jedem zweiten Anwender neu erfunden
- werden muß. Statt dessen hat jeder Programmierer die Möglichkeit, seine
- Entwicklungen, die meist nebenbei angefallen sind, anderen zur Verfügung zu
- stellen. Auf diese Weise wächst ganz automatisch eine umfangreiche und
- günstig zu erwerbende Bibliothek mit vielen nützlichen Funktionen heran.
-
- Und so funktioniert's: Sie schicken uns (Application Systems) Ihre - möglichst -
- fehlerfreien und ausreichend dokumentierten Module im Quelltext. Sie erlauben
- uns, diese Quellen auf einer unserer MeMoX-Disks an alle bei Application
- Systems registrierten Modula-Anwender weiterzugeben (vermerken Sie dies
- bitte auch am Anfang jedes Ihrer Quelltexte) - sie sind damit nicht Public
- Domain; Sie haben als Urheber immer noch die Möglichkeit, Ihre Entwicklungen
- später kommerziell zu verbreiten. Sie übernehmen dabei keinerlei Verpflichtun~
- gen. Als Dankeschön dürfen Sie sich dann eine der vorhandenen MeMoX-
- Disketten aussuchen (den aktuellen Bestand können Sie bei ASH erfragen).
-
- Daß wir auf den Quelltexten bestehen, hat zwei Gründe. Erstens sollen die
- anderen Anwender die Möglichkeit haben, eventuelle Fehler zu beheben und ggf.
- andere Modifikationen vorzunehmen. Zweitens kann es bei einem Update
- unseres Systems dazu kommen, daß sich einige Definitionen in den Moduln
- (z.B. Runtime, InOut) verändern, was dann eine Neucompilierung vieler Module,
- die Sie verwenden, erfordert. Die von uns gelieferten Module des Megamax-
- Systems sind natürlich schon auf dem neuesten Stand, die MeMoX-Disks
- können wir jedoch nicht alle neu zusammenstellen, schon weil dann zwei
- verschiedene Versionen für Anwender mit dem alten bzw. neuen System
- existieren müßten. Haben Sie als Anwender aber die Quellen der MeMoX-Disks,
- können Sie selbst alle erforderlichen Compilationen vornehmen.
-
- Wenn Sie an einer oder mehreren MeMoX-Disks Interesse haben, aber erstmal
- nichts bieten können, erhalten Sie sie für DM 30.- das Stück. Teilen Sie uns
- bei der Bestellung unbedingt Ihre Seriennummer mit!
-
- Beispielsweise enthält die zweite MeMoX Disk unter anderem:
- AVLTrees einfache Verwaltung selbstausgleichender Binärbäume,
- Multitasking Modula-Prozeduren laufen im Hintergrund (über Timer),
- Formel-Parser Auswertung von arithmetischen Ausdrücken,
- TextEdit automatische Verwaltung für Texteingaben in Fenstern,
- Timer5ms Zeitbestimmung, Stoppuhr (Auflösung: 5ms).
- 1.5 Unser Service: Mailbox 1 - 10
- ________________________________________________________
-
-
- Mailbox
-
- Einen weiteren Service können wir Ihnen bieten, wenn Sie über einen
- Akustik-Koppler oder ein Modem verfügen: Sie können prompte Hilfe direkt von
- den Modula-Entwicklern erhalten. Außerdem können Sie über die Mailbox nicht
- nur Megamax-spezifische Neuigkeiten erfahren, sondern auch an Diskussionen
- über zukünftige Entwicklungen an Megamax-Modula und Modula allgemein
- teilnehmen.
-
- Dieses Forum für Modula-Programmierer, das wir selbst ins Leben gerufen
- haben, führen wir schon - mit wechselnden Standorten - seit dem Frühjahr
- 1988. Wir haben in dieser Zeit sehr oft Probleme von unseren Anwendern aus
- der Welt schaffen können, oft wurden aufgetretene Fehler, die auch in unserer
- Software nicht auszuschließen sind, innerhalb eines Tages behoben und
- rückvermittelt. Mittlerweile ist es eine solide und sehr aktive Diskussions- und
- Informationsrunde geworden, an der auch andere Modula-Hersteller verschie~
- dener Computer beteiligt sind. Aufgrund der Datenflut haben sich sogar einige
- Modula-Interessenten wieder daraus zurückgezogen, weil sie sie nicht mehr
- verfolgen oder die dabei entstehenden Telefonkosten tragen konnten.
-
- Aus diesem Grund haben wir nun eine Alternative geschaffen. Sind Sie lediglich
- an den besonderen Informationen zu Megamax Modula-2 interessiert oder
- wollen Sie nur die Option auf gelegentliche Hilfestellungen in Anspruch nehmen,
- bieten wir Ihnen diesen Service in einer bestimmten Mailbox. Zwar müssen Sie
- dann unter Umständen höhere Kosten wegen der Ferngespräche tragen, da Sie
- aber die Informationen gezielt abrufen können, minimiert sich damit der
- Kostenaufwand.
-
- Wollen Sie sich dagegen auch an allgemeinen Modula-Themen beteiligen, können
- Sie dazu verschiedene Mailboxen in ganz Europa anrufen.
-
- So erreichen Sie nun die Mailbox mit den speziellen Megamax-Informationen
- und der unverzüglichen Hilfe bei Problemen: Rufen Sie die der MAUS-Mailboxen
- an, deren Nummern Sie weiter unten finden. Ihr Terminal-Programm sollte auf
- 300, 1200 oder 2400 Baud, 1 Stop-Bit, keine Parität, 8 Datenbits eingestellt
- sein.
-
- Wenn die Verbindung aufgebaut ist, meldet sich die Mailbox und fragt, ob Sie
- eingetragener Benutzer sind. Antworten Sie mit N und tragen Sie sich dann,
- wie die Box es Ihnen anbietet, als Benutzer ein. Diese Mailbox fragt Sie nach
- allem, was Sie nicht selber wissen können, Sie sollten also auch als Anfänger
- keine Probleme damit haben.
-
- Wenn Sie sich eingetragen haben und sich im Hauptmenü befinden, können Sie
- uns schon erreichen: Drücken Sie 'E', dann 'P', dann geben Sie als Adressaten
- Thomas Tempelmann >Klammeraffe< M ein (der "Klammeraffe" ist das Zeichen,
- das Sie mit Altenate-ü erhalten). Daraufhin können Sie eine Nachricht
- 1.5 Unser Service: Mailbox und Soforthilfe bei Fehlern 1 - 11
- ________________________________________________________
-
-
- eingeben. Teilen Sie uns mit, daß Sie Megamax-Anwender sind und ob Sie nur
- eine Frage haben, ob Sie an den Megamax-spezifischen oder auch an allen
- Modula-bezogenen Informationen Interesse haben. Beenden Sie die Texteingabe,
- indem Sie eine Zeile mit einem Punkt am Anfang eingeben. Rufen Sie dann am
- übernächsten Tag wieder an - dann sollten Sie schon eine Antwort erhalten
- haben. Wir geben Ihnen dort auch gerne Hilfestellung, wenn Sie noch
- allgemeine Probleme mit der Datenfernübertragung und der Mailbox-Bedienung
- haben. Sollte es aus unvorhersehbaren Gründen nicht klappen, uns in der
- Mailbox zu erreichen, wenden Sie sich bitte an Application Systems.
-
- Nummern einiger MAUS-Boxen
- München 1 (089) 654708 (ist evtl. nicht zugänglich)
- München 2 (089) 8143547
- München 3 (089) 659769
- Starnberg (08157) 7626
- Bonn (0228) 254020
- Aachen (0241) 154949
- Köln-Porz (02203) 12400
- Münster (0251) 77261
- Hamburg (040) 5381657 ... und das sind längst nicht alle!
-
- Wenn Sie erfahrener in der Mailbox-Szene sind, weisen wir Sie darauf hin,
- daß die allgemeinen Modula-Mitteilungen im FIDO- und im MAUS-Netz, sowie
- im MAUS-Brett der Zerberus-Boxen vertreten sind. Wenn Ihnen das nichts
- sagt, sie aber trotzdem brennend daran interessiert sind, was damit gemeint
- ist, rufen Sie doch ebenfalls einmal in der MAUS München an und fragen Sie
- uns danach, wie Sie diesem Forum von Ihrer Heimatstadt aus am günstigsten
- folgen können.
-
-
- Soforthilfe bei Fehlern im Megamax-System
-
- Haben Sie Fragen oder Vorschläge zur Bedienung oder den Bibliotheken,
- wenden Sie sich bitte schriftlich an den Vertrieb (Application Systems
- Heidelberg). In besonders dringeden Fällen, beispielsweise, wenn Sie einen
- Fehler im Compiler oder einer Bibliotheksfunktion vermuten und auf dessen
- einwandfreies Funktionieren angewiesen sind, können Sie sich auch telefonisch
- dort melden. Erklären Sie kurz die Dringlichkeit, dann werden Sie gegebenen~
- falls die direkte Telefondurchwahl des zuständigen Programmierers erfahren.
- Wir, die Programmierer werden uns bemühen, solche Probleme dann
- schleunigst aus dem Weg zu schaffen. Da wir das gesamte Megamax-System
- selbst erstellt haben, ist uns die Hilfe in jedem Fall möglich.
-
- Auch in weniger dringenden Fällen bitten wir Sie, uns über jede Macke am
- System schriftlich Nachricht zu geben, denn es kam bereits vor, daß auch
- noch nach vier Jahren Fehler in bis dahin nicht veränderten Programmteilen
- entdeckt wurden. Rechnen Sie also nicht damit, daß der von Ihnen vermutete
- 1.5 Unser Service: Quelltexte und 68020-Assembler 1 - 12
- ________________________________________________________
-
-
- Fehler uns längst bekannt sei - sonst wundern Sie sich beim nächsten Update
- bitte nicht, daß er immer noch vorhanden ist.
-
- Es ist auch gut möglich, daß der Fehler bereits behoben wurde. In solch einem
- Fall erhalten Sie gleich Nachricht und können ein Update erhalten:
-
- Zu jeder Zeit können Sie alle Ihre Originaldisketten plus DM 20.- (Scheck oder
- bar) an den Vertrieb einsenden, um das derzeit aktuelle System zu erhalten.
- Nur, wenn sich größere Änderungen ergeben, ggf. sich auch das Handbuch
- ändert, informieren wir Sie automatisch über ein "großes" Update/Upgrade.
-
-
- Quelltexte der Bibliotheken
-
- Wenn Sie auf ein einwandfrei funktionierendes System angewiesen sind, wissen
- Sie bereits, daß wir Sie da nicht im Stich lassen. Wenn Sie dennoch darauf
- Wert legen, zur Not selbst alles in der Hand zu haben, können Sie von uns die
- Quellen aller Module, abgesehen vom Compiler, gegen eine Schutzgebühr
- erhalten. Wenden Sie sich dazu bitte schriftlich an unseren Vertrieb.
-
-
- Assembler für 68020/30 und 68881/2 (FPU)
-
- Der Inline-Assembler des Megamax-Compilers ist für den Befehlsumfang eines
- normalen Atari ST / Mega ST ausgelegt. Steckt in Ihrem Rechner eine
- Erweiterungskarte mit einem 68020-Prozessor (auch 68030, 68040,...) oder
- sind Sie gar stolzer Besitzer eines Atari TT, können Sie von uns den Compiler
- mit erweitertem Inline-Assembler für diesen Prozessor und seinen optionalen
- Mathe-Koprozessor erhalten. Wenden Sie sich dazu bitte an den Vertrieb
- (Application Systems Heidelberg).
-
- Wenn Sie lediglich einen Mathe-Koprozessor (FPU) für den normalen ST
- besitzen, können wir Ihnen leider nicht mit einem speziellen Assembler dienen:
- Die FPU kann nur in Verbindung mit einer 68020 (oder höher) direkt
- programmiert werden, beim ST müssen die Maschinen-Instruktionen über
- komplizierte Befehlsfolgen durch die 68000-CPU übermittelt werden.
-
- Glücklicherweise haben wir im Modula-Compiler die Verwendung der FPU im
- ST sehr effektiv implementiert, sodaß sowieso nur selten Optimierungen in
- Assembler dienlich sind.
-
- Wollen Sie die FPU im Atari ST trotzdem selber programmieren, empfehlen wir
- Ihnen den FPU-Preprozessor, der Ihnen dazu viel Arbeit abnimmt. Wenden Sie
- sich an:
- Jens Decker
- Frühlingstr. 11
- 8721 Röthlein
- 1.5 Deren Service: Portable GEM-Bibliothek 1 - 13
- ________________________________________________________
-
-
- Portable Bibliotheken für den Atari ST/ TT
-
- Wenn Sie sich mal unter den diversen Anbietern für Modula auf dem Atari
- umsehen, werden Sie sicher schnell feststellen, daß alles, was über die sog.
- Standard-Module bei Modula hinausgeht, die Idee der portablen Sprache
- vollkommen aufgibt. Zwar wird der ISO-Standard viel mehr und bessere
- Module festschreiben, rechnerspezifische Bibliotheken, wie die Atari-Funktionen
- für GEMDOS und BIOS sowie das GEM, können dabei nicht berücksichtigt
- werden.
-
- Ein langjähriger Modula-Programmierer auf dem Atari ST hat nun unbeirrt der
- Interessen der einzelnen Modula-Anbieter eine Bibliothek erstellt, die alle
- Funktionen des GEMDOS, BIOS, XBIOS und vor Allem des GEM umfaßt. Die
- Namen der Bezeichner und die Parameter der Prozeduren wurden nach
- Modula-Richtlinien sehr nah an der C-Definition von DRI und Atari angelehnt.
- Die Funktionen rufen direkt die jeweiligen Betriebssystemfunktionen auf. Es gibt
- also keine Sicherheitskontrollen, wie bei der Megamax-Bibliothek, dafür sind
- die Funktionen aber kompakter. Weitere Module bauen darauf auf, sie nennen
- sich MagicDials. Darin sind beispielsweise enthalten: Dialoge, in denen die
- Knöpfe mit Tastenkombinationen anwählbar sind, Menüzeilen in Fenstern (z.B.
- für Accessories) sowie die bekannten "fliegenden" Dialoge. Praktisch alles, was
- die C-Bibliothek zum Buch "Vom Anfänger zum GEM-Profi" enthält und noch
- einiges Praktische mehr!
-
- Die Module sind für viele Modula-Systeme auf dem Atari und evtl. bald auch
- für IBM PC-Kompatible verfügbar. Wollen Sie portabel in GEM programmieren,
- beispielsweise für Veröffentlichungen in Zeitschriften, können wir Ihnen diese
- Bibliothek wärmstens empfehlen.
-
- Die MAGIC-Library ist Shareware und Sie erhalten sie gegen Einsendung einer
- doppelseitig formatierten Disk und dem Rückporto oder in unserer vorher
- erwähnten Mailbox. Sie können die Software kostenlos ausprobieren und bei
- Gefallen die für die Nutzung erforderliche Lizenzgebühr von DM 15.-
- nachzahlen. Für DM 40.- erhalten Sie sogar noch die zusätzlichen Module, wie
- die erwähnten MagicDials. (Alle Module werden natürlich im Quelltext geliefert!)
- Vertrauensvolle Interessenten können das Geld natürlich auch gleich beilegen.
-
- Bei Interesse wenden Sie sich bitte direkt an den Autor:
-
- Peter Hellinger
- Brunnengasse 51
- 8500 Nürnberg 1
- Tel. (0911) 22 36 65
- Kto-Nr: 3009612026 bei KKB-Düsseldorf, BLZ 300 209 00
- 1.5 Deren Service: ADT & C-Linker 1 - 14
- ________________________________________________________
-
-
- ADT - Abstrakte Datentypen
-
- INTEGER, CHAR, Records und Arrays sind für eine Sprache wie Modula-2
- nicht genug. Auch Listen und Bäume sind wichtige Datenstrukturen. Modula
- bietet allerdings nur das Nötigste, um damit umzugehen. Die Megamax-
- Bibliothek enthält beispielsweise das Modul Lists, um beliebige Datenstrukturen
- zu einer Liste zu verketten. Aber auch hier fehlen Funktionen, um die gesamte
- Liste zu kopieren, abzuspeichern usw.
-
- Die ADT-Modulbibliothek geht hier bis zum letzten. Sie enthält praktisch alle
- Funktionen, um mit Listen, Binärbäumen (auch AVL, also automatisch
- ausgeglichenen), Hash-Tabellen, Stacks (LIFO) und Queues (FIFO) komfortabel
- umzugehen. Die Daten werden nicht wie beim Lists-Modul lediglich über Pointer
- verwaltet, sondern können komplett zugewiesen werden. Damit ist dann
- beispielsweise das Kopieren (Zuweisen) kompletter Listen problemlos möglich.
- Für Geschwindigkeitsfanatiker gibt es aber auch immer die Option, beim
- Einfügen nur eine Referenz (also Adresse und Länge) der Daten zu übergeben,
- sodaß das Kopieren des gesamten Datums dabei entfallen kann. Und überhaupt:
- Alle Routinen sind sehr auf Effizienz und Geschwindigkeit bedacht.
-
- Was noch? Beispielsweise gibt es eine automatische Markenverwaltung bei den
- Listen - wenn Sie wissen, worum es geht. Natürlich können alle Strukturen
- miteinander verknüpft werden und Datei-Ein-/Ausgabe ist auch mit drin.
- Megamax-Verwöhnte werden auch die automatische Fehlerbehandlung zu
- schätzen wissen. Drumherum gibt es noch einige Beispiel- und Hilfsmodule für
- die Praxis. Und die Quelltexte aller Module gibt es auch - praktisch umsonst!
-
- Also los! Bestellen Sie noch heute die ultimative ADT-Bibliothek bei
- Wolfgang Keller
- Karl-Hoffmann-Str. 8
- 7500 Karlsruhe 1
- (0721) 386456
-
-
- Einbindung von Funktionen der Sprache C
-
- Sind Sie Multilinguist? Werden Sie mit der Sprache C - freiwillig oder eher
- unfreiwillig - konfrontiert? Haben Sie Funktionen in C, die Sie nicht nach
- Modula-2 umschreiben wollen/können? Dann lesen Sie, was Ihnen Michael
- Seyfried (Autor des PD-Programms FuncCalc und einiger MeMoX- und
- MM2-Beiträge) Ihnen empfiehlt:
-
- Für C-Programmierer, die auf Modula-2 umsteigen wollen und für Modula-
- Programmierer, die C-Programme einbinden wollen, gibt es als Zusatzprodukt
- zu Megamax Modula-2 (MM2) und Turbo-C (TC) das Programm MM2CLink
- (Megamax Modula-2 C-Linker). MM2CLink konvertiert Objektdateien vom
- 1.6 Anmerkungen zu den Lizenzvereinbarungen 1 - 15
- ________________________________________________________
-
-
- Borland- ins MM2-Format. Es kann aus einem oder mehreren C-Objektdateien
- ein MM2-Modul erzeugen, das alle gewünschten Variablen und Prozeduren der
- C-Module exportiert um sie dann in MM2-Modulen importieren und benutzen
- zu können. So kann die ganze TC-Laufzeitumgebung unter MM2 eingebunden
- werden. Dabei ist im Gegensatz zu TC schon auf Objektcodeebene eine
- Modularisierung möglich: Aus TCSTDLIB.LIB und TCFLTLIB.LIB wird das
- MM2-Modul TCSTDLIB und aus TC...LIB.LIB werden die MM2-Module TC...LIB.
- Man braucht auch für die konvertierten C-Module keinen separaten Linkerlauf
- sondern kann weiterhin das bequeme Loadtime-Linking nutzen. MM2CLink
- bietet eine komfortable Unterstützung bei den einzelnen Schritten der
- C-Einbindung. Es läuft in der MM2-Shell und benutzt deren Parameter mit:
- Compiler, Editor und TC lassen sich direkt aus MM2CLink aufrufen.
-
- Sie können das MM2CLink-Paket für wenig Geld direkt beim Autor bestellen.
- Ihre Kontaktadresse für Fragen und Bestellungen:
- Michael Seyfried
- Unterer Mauergarten 17
- 6520 Worms
- (0631) 63158 oder (06241) 54671
- Mailbox: MAUS Starnberg (STA), (08157) 7626
-
-
-
- 1.6 Anmerkungen zu den Lizenzverein~
- barungen
-
- Software
-
- Die Disketten, auf denen Sie Megamax Modula erhalten haben, sind nicht
- kopiergeschützt. Auf diese Weise möchten wir unseren Kunden unnötigen
- Ärger und Unbequemlichkeiten bei der Handhabung des Systems ersparen. Sie
- dürfen (und sollten) Backup-Kopien für Ihren persönlichen Gebrauch anlegen,
- wie auch im Abschnitt 2.1 beschrieben wird.
-
- Trotzdem unterliegt natürlich auch Megamax Modula dem Urheberrecht: Sie
- dürfen nicht das komplette Programmpaket an Ihre fünf besten Freunde weiter~
- geben. Hier möchten wir nicht nur darum bitten, unsere Entwicklungsarbeit
- (und den Verzicht auf einen lästigen Kopierschutz) zu honorieren, sondern auch
- noch kurz auf die Seriennummern hinweisen, die in der Software enthalten
- sind. Jedes erworbene Modula-System darf zu jedem Zeitpunkt nur auf einem
- einzelnen Rechner verwendet werden.
-
- Wenn Sie mit dem Megamax-System Software entwickelt haben und diese
- verkaufen (oder verschenken) wollen, möchten wir Ihnen natürlich nicht im
- Wege stehen (und wir möchten auch keine Lizenzgebühren von Ihnen haben).
- Daher gilt folgende Regelung:
- 1.6 Anmerkungen zu den Lizenzvereinbarungen 1 - 16
- ________________________________________________________
-
-
- * Von Ihnen unter Megamax Modula entwickelte Programme dürfen uneinge~
- schränkt weitergegeben werden. Das gilt ebenso für die Code-Moduln unserer
- Library, nicht jedoch für deren zugehörige Quelltexte.
-
- * Die Textversionen der Definitionsmodule unserer Library dürfen Sie auch
- gerne verbreiten - wir hoffen, daß jeder Leser dann auch sofort so eine
- Programmierumgebung haben will...
-
- * NICHT weitergeben dürfen Sie alle übrigen Bestandteile des Modula-Systems.
-
- * In Zweifelsfällen erkundigen Sie sich bitte bei Application Systems Heidelberg.
-
-
- Handbuch
-
- Das vorliegende Handbuch darf, auch auszugsweise, nicht kopiert werden;
- weder durch mechanische, optische, magnetische, elektronische noch chemische
- Reproduktionsverfahren. (Fällt Ihnen noch ein anderes Verfahren ein? Bitte
- auch nicht verwenden!) Ausnahmen bedürfen der schriftlichen Genehmigung
- durch Application Systems Heidelberg.
-
-
- Haftungsausschluß
-
- Bitte nehmen Sie zur Kenntnis, daß wir, die Autoren, dieses Produkt mit
- großer Sorgfalt entwickelt und getestet haben. Dennoch können uns dabei
- Fehler unterlaufen sein. Jedoch können weder wir noch unser Vertrieb für
- Fehler im Handbuch und in der Software eine Haftung übernehmen, insbeson~
- dere für Folgeschäden bei Dritten, die von der mit diesem Produkt erstellten
- Software ausgehen.
-
- Das bedeutet, daß Sie Ihre selbst entwickelte Software inklusive der
- eingebundenen Megamax-Bibliothek angemessen testen müssen, wenn Sie sie
- Dritten gegenüber zugänglich machen, weil wir dort zu keinerlei Gewährleistung
- mehr verpflichtet sind.
-